
// 校验问卷设计数据
export const validList = (data)=>{
    return new Promise((resolve, reject) => {
        let errorList = [];
        data.forEach((item,index)=>{
            let obj = { index, typeName: item.typeName, errData:[] }
            if(!item.title){
                obj.errData.push({
                    field:item.field,
                    key:'title',
                    msg:"题目标题不能为空"
                })
            }
            if(item.showSubTitle === 'Y' && !item.subTitle){
                obj.errData.push({
                    field:item.field,
                    key:'subTitle',
                    msg:"副标题要求显示则不能为空"
                })
            }
            if(['single-check','multiple-check'].includes(item.type) && item.options.length === 0){
                obj.errData.push({
                    field:item.field,
                    key:item.type,
                    msg:"选项信息不能为空"
                })
            }
            if(item.isSubjective === 'N'){
                if(item.type === 'multiple-check' && item.answer.length === 0){
                    obj.errData.push({
                        field:item.field,
                        key:'isSubjective',
                        msg:"非主观题答案不能为空"
                    })
                }else if(!item.answer){
                    obj.errData.push({
                        field:item.field,
                        key:'isSubjective',
                        msg:"非主观题答案不能为空"
                    })
                }
            }
            if(item.needValid === 'Y'  && item.validateArr.length === 0){
                obj.errData.push({
                    field:item.field,
                    key:'needValid',
                    msg:"开启验证则验证规则不能为空"
                })
            }
            if(item.inStore === 'Y' && !item.keyword){
                obj.errData.push({
                    field:item.field,
                    key:'inStore',
                    msg:"加入题库则关键词不能为空"
                })
            }
            if(item.inStore === 'Y' && !item.tag){
                obj.errData.push({
                    field:item.field,
                    key:'tag',
                    msg:"加入题库则标签不能为空"
                })
            }
            errorList.push(obj)
        })
        errorList = errorList.filter(item=>item.errData.length)
        if(errorList.length){
            reject(errorList)
        }else{
            resolve(true)
        }
    })
}

// 校验问卷信息
export const validSurvey = (data)=>{
    let surveyValidStr = ''
    const { surName,startTime,endTime, isPublic, joinUserList, isTemplate,tempName } =  data
    if(!surName){
        surveyValidStr += '<div>问卷名称不能为空</div>'
    }
    if(!startTime){
        surveyValidStr += '<div>问卷开始时间不能为空</div>'
    }
    if(!endTime){
        surveyValidStr += '<div>问卷结束时间不能为空</div>'
    }
    if(new Date(startTime) > new Date(endTime)){
        surveyValidStr += '<div>问卷开始时间不能大于结束时间</div>'
    }
    if(isPublic === 'N' && joinUserList.length ===0){
        surveyValidStr += '<div>问卷不公开但未指定参与人员</div>'
    }
    if(isTemplate === 'Y' && !tempName){
        surveyValidStr += '<div>问卷作为模板则模板名称不为空</div>'
    }
    if(surveyValidStr){
        surveyValidStr = `问卷校验失败：<div style="color:red">${surveyValidStr}</div> `
    }
    return surveyValidStr
}
